package com.xydtech.workflow.service;

import com.xydtech.workflow.domain.WflFlownodeDefine;

import java.util.List;

/**
 * 流程节点定义Service接口
 *
 * @author JHON
 * @date 2021-03-16
 */
public interface IWflFlownodeDefineService {
    /**
     * 查询流程节点定义
     *
     * @param stepId 流程节点定义ID
     * @return 流程节点定义
     */
    public WflFlownodeDefine selectWflFlownodeDefineById(Long stepId);

    /**
     * 查询流程节点定义列表
     *
     * @param wflFlownodeDefine 流程节点定义
     * @return 流程节点定义集合
     */
    public List<WflFlownodeDefine> selectWflFlownodeDefineList(WflFlownodeDefine wflFlownodeDefine);

    /**
     * 查询流程未选的步骤 @Title: selectNoChoiceFlownodeByVersionId
     *
     * @param versionId
     * @return java.util.List<com.xydtech.workflow.domain.WflFlownodeDefine>
     * @exception
     * @author JHON @Date 2021/5/6 21:19
     */
    public List<WflFlownodeDefine> selectNoChoiceFlownodeByVersionId(Long versionId);

    /**
     * 新增流程节点定义
     *
     * @param wflFlownodeDefine 流程节点定义
     * @return 结果
     */
    public int insertWflFlownodeDefine(WflFlownodeDefine wflFlownodeDefine);

    /**
     * 修改流程节点定义
     *
     * @param wflFlownodeDefine 流程节点定义
     * @return 结果
     */
    public int updateWflFlownodeDefine(WflFlownodeDefine wflFlownodeDefine);

    /**
     * 批量删除流程节点定义
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteWflFlownodeDefineByIds(String ids);

    /**
     * 删除流程节点定义信息
     *
     * @param stepId 流程节点定义ID
     * @return 结果
     */
    public int deleteWflFlownodeDefineById(Long stepId);
}
